#include <pthread.h>
#include <iostream>
#include <string>
#include <stdlib.h>

#define MAXOPERATIONS 1000000000

//Contains all the parameters needed for each computations

class Environment{

 private : 
  int _computation; // 0-> both ; 1 -> int ; 2 -> float
  long _operations; 
  pthread_t * _thread;
  int _nbThread; 
  float _result; 
  
 public : 
  Environment(); 
  Environment(int operations); 
  ~Environment(); 

  long getOperations();
  int getComputation(); 
  pthread_t * getThread(); 
  float getResult(){
    return _result;
  }

  void resetResult(){
    _result = 0;
  }

  void setOperations(long operations);
  void setOperation(std::string value);
  void setMaxOperation();
  void setComputation(int computation);
  void setComputation(std::string value);
  void setThread(pthread_t* thread); 
  void setThread(std::string values);
  void addResult(float result){
    _result += result; 
  }
  
  void toPrint(); 
  int getNbThread();

};
